Method of contextually determining missing components of an incomplete uniform resource locator

ABSTRACT

A technique and apparatus for connecting a terminal to a host server on the Internet in response to an incomplete uniform resource locator (URL). The present method and apparatus receives an incomplete URL from the user, e.g., just a host name. The present method and apparatus contextually determines the remaining or missing components of the incomplete URL as a function of the host server received from the user.

This application is a continuation-in-part of application Ser. No.11/208,486 filed Aug. 1, 2005, which is a continuation of applicationSer. No. 09/528,094 filed Mar. 17, 2000, which is a continuation ofapplication Ser. No. 09/071,874 filed May 4, 1998, both applicationsincorporated by reference in their entireties.

BACKGROUND OF THE INVENTION

This invention relates to delivering information to the subscribers on acommunication network, more particularly to a technique for dynamicallydelivering information to each active subscriber on the network withoutinterfering with the reception and display of their selected data orprogram from the network.

In a typical communication network in which advertisements or otherinformation are delivered, such as a conventional cable televisionnetwork, a local area network (LAN), a wide area network (WAN) and theinternet, the delivery of advertisements interferes with the receptionand/or display of subscribers' selected program or data.

In a conventional cable television network and a conventional on-demandvideo distribution system, the messages are incorporated into thetransmission data stream representing the program selected by thesubscriber. That is, the transmission and/or display of the selectedprogram is interrupted for commercial breaks.

In the internet, the information is downloaded (“pushed”) on to thesubscriber's terminal such that the display of the pushed informationinterferes with the display of the subscriber's selected data. That is,the pushed information is placed on top of the data (e.g., frames orpage of data from a web site) that is being currently displayed on thesubscriber's terminal.

However, it is desirable to continuously display “pushed” information,messages or advertisements simultaneously with the subscriber's selecteddata or program wherein they do not interfere with each other and aresimultaneously viewable by the subscriber.

Also, in a typical communication network, the information such asadvertisements are delivered to many subscribers indiscriminately. Thisis disadvantageous for the subscribers because some subscribers aresubjected to advertisements in which they have no interest. It is alsodisadvantageous to the advertisers because the advertisers must pay todeliver the advertisement to a large audience of subscribers includingthe subscribers they desire to reach and the subscribers who have nointerest in their advertisement.

It is desirable to target information, such as messages, announcements,advertisements, etc., to subscribers who are more likely to beinterested in such information and deliver that information to onlythose selected subscribers.

Techniques have been proposed heretofore for selective distribution ofmessages over communication networks, such as a conventional cabletelevision network and a conventional on-demand video distributionsystem. In a conventional cable television network, an addressablecontroller communicates with a plurality of subscriber converters on thenetwork. Each converter, i.e., set-top converter box, is assigned as amember of a primary message group and may also be assigned to one ormore message subgroups. The messages are input to the addressablecontroller for subsequent transmission to a converter for display on atelevision receiver connected to that converter. The head end tags thetext messages with distribution data defining at least one primarymessage group or message subgroup to receive the message. Variousprimary groups are used to segregate converters based on geographicalarea or distribution hub, and subgroups are used to segregatesubscribers into groups of particular interest. The tagged text messagesare transmitted over the conventional cable television network togetherwith broadcast signals from network service providers on separate pathsor channels. A particular converter determines whether it is authorizedto receive the tagged text message. If it is determined that thisparticular converter is authorized to receive the tagged text message,the converter either immediately displays the tagged text message byblocking the display of the broadcast signals on the selected (tuned)channel or overlays alphanumeric characters and/or graphics on top ofthe program being displayed on the subscriber's television receiver.

In a conventional on-demand video distribution system, a technique hasbeen proposed in which commercial messages to be distributed over thenetwork contain embedded information identifying categories ofrecipients for each message. A server, centrally located on the network,selectively tags commercial messages with the converter addresses ofsubscribers, satisfying the identifying categories. The commercialmessages are inserted into the video signal associated with the videoprogram selected by a particular addressed converter (subscriber) andtransmitted over the network for receipt and display by a televisionreceiver connected to that addressed converter. The addressed convertersreceive and display the commercials on their corresponding televisionreceiver during scheduled commercial breaks in the program. Theaddresses are selected by the server based on information stored in adatabase related to demographic and other information relating to thehousehold of the subscriber in comparison to the same informationrelating to households which are actual customers of the product orservice which is a subject of the commercial.

However, it is desirable to continuously display the text messages orcommercials along with the program on the subscriber's televisionreceiver. The present invention proceeds upon the desirability ofcontinuously displaying the messages simultaneously with the broadcastprogram in which the broadcast program and the messages do not interferewith each other and are simultaneously viewable by the subscriber.

Also, it is desirable to update the demographic information based onviewing habits, purchasing behavior and the like because the demographicinformation may become stale over time.

A customized information file is dynamically generated for each activesubscribers on the network in accordance with the correspondingsubscriber profile data stored in a database. Each customizedinformation file containing a plurality of addresses of the information,e.g., messages, announcements, advertisements, etc., are sent to thecorresponding subscriber. Each active subscriber terminal sequentiallydisplays the information located in the addresses found in itscustomized information list.

OBJECTS OF THE INVENTION

Therefore, it is an object of the present invention to provide anapparatus and technique for delivering information to subscribers on acommunication network such that the information and the subscriber'sselected data is simultaneously viewable by the subscriber.

Another object of this invention is to provide an apparatus andtechnique as aforesaid, which additionally displays the informationwithout interfering with the reception and display of the subscriber'sselected data.

Additional object of the present invention is to provide a technique fortargeting information to subscribers who are more likely to beinterested in a particular information and delivering that informationto only those targeted (selected) subscribers.

Various other objects, advantages and features of the present inventionwill become readily apparent from the ensuing detailed description, andthe novel features will be particularly pointed out in the appendedclaims.

SUMMARY OF THE INVENTION

In accordance with this invention, a processing device connected to acommunication network continuously displays a sequence of informationreceived from a plurality of INFO sources simultaneously with dataselected from at least one data provider on the network such that thesequence of information and the selected data are simultaneouslyviewable by the subscriber. Although the subscriber may select data fromon or more data providers, the subscriber cannot control the display ofthe sequence of information.

In a preferred embodiment, the sequence of information is continuouslydisplayed without interfering with the display of the selected data.

In accordance with yet another aspect of this invention, a sequence ofinformation is uniquely generated for each subscriber in accordance withthe subscriber's profile data. A processing device associated with thesubscriber continuously displays the sequence of informationsimultaneously with data selected from at least one data provider on thenetwork such that the sequence of information and the selected data aresimultaneously viewable by the subscriber. Although the subscriber mayselect data from on or more data providers, the subscriber cannotcontrol the display of the sequence of information.

Preferably, the sequence of information is continuously displayed in oneportion of the monitor associated with the processing device and theselected data is displayed in another portion of the monitor.

BRIEF DESCRIPTION OF THE DRAWINGS

The following detailed description, given by way of example, and notintended to limit the present invention solely thereto, will best beunderstood in conjunction with the accompanying drawings in which:

FIG. 1 is a block diagram showing the incorporation of the presentinvention in a world wide web (internet);

FIG. 2 is a block diagram representing an embodiment of a terminal ofFIG. 1 depicting the three portions of the monitor;

FIG. 3 is a block diagram representing an embodiment of an INFO windowand a browser window of FIG. 2;

FIG. 4 is a block diagram showing the incorporation of the presentinvention in a cable television network;

FIG. 5 is a block diagram of an embodiment of a television receivingapparatus of FIG. 4;

FIG. 6 is a block diagram of an embodiment of the INFO window and aprogram window of FIG. 5.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The present invention is readily implemented by presently availablecommunication apparatus and electronic components. The invention findsready application in virtually all commercial communication networks,including but not limited to over-the-air broadcasts, local area network(LAN), wide area network (WAN), intranet, world wide web (internet),wired cable transmission systems and direct satellite broadcast systems.

Turning now to FIG. 1, there is illustrated a block diagram of acomputer network, specifically internet (world wide web), whichincorporates the present invention. An internet service provider (ISP)server 110, INFO servers 120, INFO databases 121, a profile database122, subscriber terminals 130, data providers, such as an IBM server 140and a FORD server 150, a session usage server 210, a name/passworddatabase 220, a session usage database 230, an INFO display database240, a clicked event server 250, a clicked event database 260, a sessionlog server 270, a primary session log database 280, a profile server 285and an additional profile database 286 are connected to each other toform an internet 100. It is appreciated that the internet contemplatedin the present invention is not limited to the internet shown in FIG. 1.FIG. 1 is merely a simplified representation of the internet and it isappreciated that a numerous number of servers may be connected to formthe internet.

The individual subscriber terminal 130 includes a monitor 180 and aninput device 170 such as keyboard, mouse or like. Although not describedin detail, it will be appreciated that the terminal may be aconventional computer, such as an ibm-compatible personal computer (PC),a network computer, an Apple Macintosh computer or like.

The profile data representing the demographic of the subscriber isstored in the profile database 122. The profile data may comprise homeaddress, business address, length of residence, household income,gender, age group, the frequency of internet or cable use, but is notlimited to such. It is appreciated that the profile data may be suppliedvia a telephone to a representative of the internet service provider,entered on the input device 170 of the subscriber terminal 130, obtainedfrom a questionnaire profile form completed by the subscriber or byother comparable means. If the profile data is entered on the inputdevice 170 by the subscriber, the subscriber terminal 130 transmits theprofile data to the ISP server 110. The profile data may be encryptedand compressed before it is transmitted to the ISP server 110.

The ISP server 110 forwards and stores the received profile data in theprofile database 122. The ISP server 110 may also decrypt and decompressthe received profile data before storing the profile data in the profiledatabase 122. Also, from time to time, additional demographicinformation may be requested from the subscribers and this additionaldemographic information may be stored with the profile data in theprofile database 122 or separately in the additional profile database286.

If the additional profile data is entered on the input device 170 by thesubscriber, the subscriber terminal 130 transmits the additional profiledata to the ISP server 110. The additional profile data may be encryptedand compressed before it is transmitted to the ISP server 110. The ISPserver 110 forwards and stores the received additional profile data inthe additional profile database 286 or the profile database 122.Alternatively, the ISP server 110 may forward the additional profiledata to the profile server 285 which decrypts and decompresses thereceived additional profile data, and stores the additional profile datain the additional profile database 286.

The INFO servers 120 continuously transmit information, such asadvertisements, news, messages, web pages, data packets, stock tickers,announcements, updates and like, to form a sequence of information. Itis appreciated that the information may comprise but is not limited totexts, still pictures, moving pictures, video and audio components, or acombination thereof. This sequence of information is supplied to the ISPserver 110 for distribution to the subscribers. It is appreciated thatthe one or more INFO servers may represent web channels, e.g., travelchannel, weather channel, etc. In such a case, the INFO servers 120continuously transmit information relating to travel or weather. It isalso appreciated that each INFO server 120 may include an INFO database121 wherein the information for distribution is stored. In such a case,each INFO server 120 retrieves the information from its respective INFOdatabase 121 and transmits the retrieved information to the subscriberson the network.

Alternatively, the sequence of information is selected for eachsubscriber in accordance with the subscriber's profile data which mayalso include the additional profile data. That is, a sequence ofinformation is dynamically and individually generated for eachsubscriber. For example, if an advertiser chooses to target itsadvertisements to males under 40 years of age with annual incomesexceeding $50,000, then these advertisements could be distributed toonly those subscribers satisfying these demographic requirements. It isappreciated that a part or all of the subscriber's profile datacontaining various demographic information may be used to generate thesequence of information.

Preferably, the ISP server 110 may retrieve a sequence of INFO IDs or asequence of INFO addresses from an INFO list database 125 fordistribution to the subscribers. The sequence of INFO IDs may contain alist of INFO IDs uniquely identifying each information in the sequenceof information; INFO durations representing the length of time eachinformation is to be displayed to the subscribers, e.g., display theinformation for 30 seconds; and display time ranges representing thetime of the day that each information is to be displayed to thesubscribers, e.g., display the information within 7:00 PM to 8:00 PM.Additionally, the sequence of INFO addresses may contain a list ofaddresses indicating the location of each information in the INFOservers 120, INFO durations, display time ranges. The ISP server 110transmits the sequence of INFO IDs or addresses to the subscriberterminals 130 which stores the received sequence in a local storagedevice (not shown).

In accordance with a preferred embodiment of the present invention, theISP server 110 may generate a customized and individualized sequence ofINFO IDs or addresses for each subscriber in accordance with thesubscriber's profile data which may also include the additional profiledata. That is, a sequence of INFO IDs or addresses is dynamically andindividually generated for each subscriber. It is appreciated that thissequence of INFO IDs or addresses may be pre-generated for eachsubscriber during off-peak hours and provided to the subscriber'sterminal 130 when it connects to the ISP server 110 or dynamicallygenerated for each subscriber when the subscriber's terminalsuccessfully connects to the ISP server 110. This customized sequence ofINFO IDs or addresses is then transmitted to the subscriber terminal 130associated with that subscriber and to the session usage server 210which stores the received sequence for that subscriber in the sessionusage database 230.

The individual subscriber terminals or processing devices 130 then readsthe information located in these addresses or corresponding to the INFOIDs and displays the read information as the sequence of information forthe INFO duration specified during the display time ranges. In otherwords, these addresses may represent URLs (uniform resource locators) orthe like and the subscriber terminal 130 reads the web pages from theINFO servers 120 corresponding to these URLs and displays them as thesequence of information from 7:00 PM to 8:00 PM. For example, if aparticular information has INFO duration of 30 seconds, then each timethis particular information is displayed during the display time period(range), the information is displayed for 30 seconds.

Also, the profile data may contain information relating to thesubscriber's time zone which can be used to generate the sequence ofinformation. For example, if a particular information has a display timerange of 6:00 PM to 7:00 PM and the current time is 9:00 PM EST (EasternStandard Time), then this information would not be provided to any U.S.subscribers in the EST time zone, but would be supplied to U.S.subscribers in the Pacific time zone.

Individual subscriber terminals 130, i.e., authorized subscribers to theISP, are connected to the ISP server 110 by telephone lines 160, whichcan be constructed as ordinary telephone lines, ISDN lines, or T1 lines.It is appreciated that the subscriber terminals 130 may be connected tothe ISP server 110 by cables, which can be constructed as either coaxialcables, optical fiber cables, or a combination thereof. Also, it isappreciated that the connection between the ISP server 110 and eachsubscriber terminal 130 may be a wireless connection.

It is noted that only authorized subscribers, i.e., authorizedsubscriber terminals 130, are permitted to be connected to the ISPserver 110 and unauthorized subscriber terminals are inhibited fromdisplaying the sequence of information received from the INFO servers120. Each subscriber is assigned a unique subscriber ID and a password,which are stored in the name/password database 220 or like accessible bythe ISP server 110. Alternatively, each subscriber terminal 130 may beassigned a unique subscriber ID and a password.

The subscriber enters a subscriber ID and a password on the input device170 to initiate a connection between the subscriber terminal 130 and theISP server 110. The subscriber terminal 130 transmits the subscriber IDand the password to the ISP server 110 which forwards them to thename/password database 220 for verification. Preferably, the subscriberID and the password is compressed and encrypted using standardcompression and encryption techniques before it is transmitted to theISP server 110. The name/password database 220 decrypts and decompressesthe compressed and encrypted subscriber ID and the password before theyare stored.

The name/password database 220 first determines whether the receivedsubscriber ID matches one of the stored subscriber IDs. If a match isfound for the subscriber ID, then the name/password database 220 furtherdetermines whether received password matches the stored passwordassociated with that subscriber ID. If match is also found for thepassword, then the subscriber is determined to be an authorizedsubscriber, and the connection between the subscriber terminal 130 andthe ISP server 110 is established. Additionally, the subscriber terminal130 is categorized as an authorized subscriber terminal and logininformation for that authorized subscriber is generated and stored inthe session usage database 230 or like. It is appreciated thatsubscriber terminal 130 may store the login information in a localstorage device (not shown) before transmitting the login information tothe session usage database. The login information may comprise a logintime and a login date, but is not limited to such information. Forexample, the login information may additionally contain a location ID,information relating to the locality of that subscriber terminal 130. Itis appreciated that the location ID may represent a zip code, atelephone number, a country name or code, a state or province name, orlike. Alternatively, the login information may be transmitted to thesession usage server 210 which generates a session usage record from thelogin information and stores the session usage record in the sessionusage database 230. It is appreciated that the session usage record maynot necessarily contain all the login information.

Also, it is appreciated that the login time and the login date may begenerated in accordance with a network system clock, thereby ensuringaccurate and uniform login information from the subscriber terminals130. The network system clock may reside in the ISP server 110 or someother server on the internet 100. Accordingly, the clock information ofeach subscriber terminal is not overwritten with the network systemclock information, but each subscriber terminal time stamps theinformation to be transmitted to the ISP server 110 based on the networksystem clock. That is, each subscriber terminal 130 has a real time anda virtual time based on the network system clock, and generates avirtual login time and a virtual login date based on the network systemclock.

However, if no match is found for the subscriber ID or the password,then the subscriber is determined to be an unauthorized subscriber, andthe connection is not established between the subscriber terminal 130and the ISP server 110. Additionally, the subscriber terminal 130 iscategorized as an unauthorized subscriber terminal.

In accordance with the preferred embodiment, the subscriber also selectsan access phone number using the input device 170 to initiate aconnection between the subscriber terminal 130 and the ISP server 110using that access phone number. It is contemplated that a phone database225 connected to the internet 100 contains all of the access phonenumbers that can be used to connect to the ISP server 110 along with thezip codes and time zones that are associated with each access phonenumber. Additionally, a pre-assigned zip code is stored for each accessphone number in the phone database 225.

Once the connection has been successfully established between thesubscriber terminal 130 and the ISP server 110 using the selected accessphone number, the ISP server 110 requests zip code information of thesubscriber terminal 130 from the name/password database 220. Thereceived zip code is forwarded to the phone database 225 to determinewhether the received zip code is associated with the entered accessphone number. If it is determined that the received zip code isassociated with the selected access phone number, then the subscriberis, presumed to be logging in from his/her home and the received zipcode is used as a location zip code. However, if it is determined thatthe received zip code is not associated with the selected access phonenumber, then the subscriber is presumed to be logging in from a remotelocation and the pre-assigned zip code associated with the selectedaccess phone number is used as the location zip code.

It is appreciated that the access phone number and the location zip codeof the subscriber, and the time zone corresponding to the location zipcode of the subscriber can also be used to generate the sequence ofinformation for that subscriber. For example, if a particularinformation has a display time range of 6:00 PM to 8:00 PM and thecurrent time is 9:00 PM EST (Eastern Standard Time), then thisinformation would not be provided to any U.S. subscribers in the ESTtime zone, but would be supplied to U.S. subscribers in the Mountain andPacific time zones. This will advantageously permit the advertisers totarget their advertisements based on the geographic location of thesubscriber to consider regional preferences. That is, advertisers maywant to use one advertisement for people in the east coast and anotheradvertisement for people in the west coast.

The authorized subscriber enters an URL on the input device 170 torequest a web page from the host server (or data provider) on theinternet 100. It is appreciated that each host server on the internet isuniquely identified by a host server name which is referred hereinafteras a data provider ID. For example, to request a web page from the IBMserver 140 on the internet 100, the authorized subscriber enters thefollowing URL, “http://www.ibm.com”, on the input device 170. Thesubscriber terminal 130 supplies the requested URL to the ISP server110. It is appreciated that the requested URLs received from theunauthorized subscriber terminals are rejected by the ISP server 110 andnot forwarded to the host server. This effectively inhibits theunauthorized subscriber terminals from displaying the web page from thehost server.

The ISP server 110 retransmits the request for a web page from theauthorized subscriber terminals 130 to the IBM server 140 via theinternet 100. In response to the request, the IBM server 140 suppliesthe requested web page to the ISP server 110. The ISP server 110 thenretransmits the web page to the appropriate subscriber terminal 130.

The subscriber terminal 130 continuously displays on the monitor 180 thesequence of information simultaneously with the requested web pagereceived from the IBM server 140 via the ISP server 110. It iscontemplated that the sequence of information and the requested web pageare displayed on the monitor 180 such that they are simultaneouslyviewable by the subscriber.

Preferably, the display of the sequence of information on the monitor180 does not interfere with the display of the requested web page. Insuch a scheme, the sequence of information may be displayed in a firstportion of the monitor 180 and the requested web page in a secondportion of the monitor 180. For simplicity, the two portions of themonitor 180 will be referred hereinafter as a browser window 190 and anINFO window 200 as depicted in FIG. 2. Accordingly, the sequence ofinformation is displayed in the INFO window 200 and the requested webpage is displayed in the browser window 190. It is appreciated that eachinformation in the sequence is displayed on the INFO window 200 for theassigned INFO duration, e.g., first information may be displayed for 30seconds, second information for 15 seconds, etc.

Alternatively, the monitor 180 may be divided into three portions,namely the browser window 190, the INFO window 200 and a navigationwindow 290. The navigation window may include clickable buttons 291,channel button 292 to select preferred channels, locator field 293, a GObutton 294, a back button 295 to move to previous web page, a forwardbutton 296 to move to the next web page, a home button 297 to retrievethe subscriber's selected home page, a preference button 298 to enter,modify and update the subscriber's profile data and a logo button 299 toconnect a pre-assigned web page. It is appreciated that more buttonsproviding different functions and features may be incorporated into thenavigation window 290.

The subscriber may use the preference button 298 to select the preferredsystem attributes such as the preferred home page, the display settings,the modem settings, the memory allocation or the like. Also, thepreference button 298 may be used to modify passwords, access phonenumbers or the like.

The URL entered by the authorized subscriber on the input device 170 torequest a web page from the host server appears on the locator field293. Instead of entering the complete URL, the user may instead enter anincomplete URL by simply entering the host name of the desired hostserver with or without the name of the domain, and press the GO button294. The present invention contextually determines the remaining (ormissing) components of the incomplete URL to form a complete URL. Thatis, if the subscriber enters “ibm.com,” the subscriber terminal 130contextually determines the complete URL as “http://www.ibm.com” andsupplies the complete URL to the ISP server 110.

However, if the subscriber simply enters “ibm,” then the subscriberterminal 130 first determines the appropriate domain of the host server“ibm” and then contextually determines the complete URL. It is notedthat currently the following domains exist in the internet for theUnited States: com, gov, edu, org, and net. For other countries, thesedomains are followed by country code, such as org.kr for Korea andorg.de for Germany. It is also noted that the host servers aredistributed between these various domains, thus the subscriber terminal130 determines the appropriate domain based on the probabilitydistribution of the host servers in a particular domain. That is, thesubscriber terminal 130 determines the probability of finding theentered host server in these various domains and then selects the onewith the highest probability. If it is determined that the host serverdoes not reside in the selected domain, the subscriber terminal 130selects another domain having the next highest probability until thedomain is found for the entered host server.

Each of the clickable buttons 291 corresponds to one component of theURL, such as “http://”, “www.”, “.com”, “.net” and the like as shown inFIG. 2. Instead of simply entering the host name, the subscriber mayenter the host name and click one or more clickable buttons 291 for themissing components of the URL, and the subscriber terminal 130contextually determines the appropriate URL. For example, if thesubscriber enters “ibm” and clicks the “http://” button, the subscriberterminal 130 contextually determines the complete URL as“http://www.ibm.com” for the IBM web site. If the subscriber clicks the“.gov” button and enters “irs”, the subscriber terminal 130 contextuallydetermines the complete URL as “http://www.irs.gov” for the IRS website. It is appreciated that the components of the URL need not beentered in its proper sequential order. Regardless of the order the URLcomponents are entered, the present invention contextually determinesthe complete URL in its proper sequential order.

Also, the INFO window 200 may include unlinked regions 202 and linkedregions 201 such as “Corporate News”, “Merchandise”, “New Products” or“Order Now” as shown in FIG. 2. Each of the linked regions 201 may belinked to a host server (a data provider) on the internet 100. Thesubscriber may click one of the linked regions 201 to receive additionalinformation relating to corporate news, merchandise, new products or toplace an order. For example, if the subscriber clicks the linked region201 labeled “Corporate News” in FIG. 2, the subscriber terminal 130 willbe connected to the Coca-Cola corporate news web page containingcorporate news information which will be displayed on the browser window190. Alternatively, if the subscriber clicks the linked region 201labeled “Corporate News,” the subscriber may receive this additionalinformation via e-mail, fax, mail or like. Preferably, the additionalinformation displayed in the browser window 190 may depend on thesubscriber's profile data. For example, if the subscriber checks on thelinked region 201 labeled “New Products” to receive additionalinformation on the latest golf gloves, the subscriber terminal 130 mayrequest the subscriber's profile data from the profile database 122 todetermine whether the subscriber is left-handed or right-handed. If itis determined that the subscriber is left-handed then only golf-glovesfor left-handed people are displayed in the browser window 190. It isappreciated that the linked regions 201 are not limited to thosedepicted in FIG. 2 and other linked regions are contemplated in thepresent invention.

As illustrated in FIG. 3, if the subscriber clicks one of the linkedregions 201 of the INFO window 200, a pop-up window, a pull-down menu orlike may appear in the browser window wherein the subscriber may berequested to complete a questionnaire form or provide requested data toreceive the additional information. For example, the subscriber may berequested to provide an e-mail address, street address, fax number orthe like to receive additional information. It is appreciated that thesubscriber may provide another person's e-mail address so that the otherperson may receive the additional information via e-mail. Also, it isappreciated that the requested data may be retrieved from the profiledatabase 122 and displayed in the browser window 190. The subscriber mayaccept (confirm) this retrieved data or modify the data so as to providethe additional information to another person. After the requested datais either entered or selected by the subscriber, the subscriber terminal130 transmits the requested data or completed questionnaire form to theISP server 110.

Preferably, the ISP server 110 transmits the completed questionnaireform or the requested data to the profile server 285 to store or updatethe subscriber's additional profile information in the additionalprofile database 286. Alternatively, the ISP server 110 retrieves theprofile data associated with the subscriber from the profile database122 and transmits the completed questionnaire form along with thesubscriber ID and the subscriber's profile data to the profile server285. The profile server 285 then stores or updates the subscriber'sadditional profile information in the additional profile database 286.It is appreciated that this advantageously permits the present inventionto provide a mechanism for interactive communication between thesubscriber and the INFO provider. Also, other means of providing therequested data are contemplated such as a radio button for exclusiveselections, check boxes for multiple selections and like.

It is appreciated that although the subscriber cannot control thedisplay of the sequence of information on the INFO window 200 of themonitor 180, the subscriber can select another Web page to be displayedon the browser window 190 by entering another URL such as“http://www.ford.com” on the input device 170. The display of the webpage from the IBM server 140 on the browser window 190 is replaced withthe web page from the FORD server 150. That is, the requested web pagereceived from the FORD server 150 is now displayed in the browser window190 without affecting the display of the INFO window 200.

Alternatively, the contents of the INFO window 200, each information inthe sequence of information, can be characterized as an unsolicitedrequest for a web page (data) from one of the host servers, such as theIBM server 140. In other words, the materials displayed on the browserwindow 190 represent solicited web pages requested by the subscriber,whereas the materials displayed on the INFO window 200 representunsolicited web pages not requested by the subscriber. Essentially,without informing the subscriber, the subscriber terminal 130automatically transmits an URL to request a web page to be displayed onthe INFO window 200 from a host server.

Preferably, the host servers may be divided into two groups, whereineach group of servers accepts only one type of requests. That is, thefirst group of servers may accept only solicited request for web pagesand the second group accepts only unsolicited request for web pages. Anysolicited request for web pages from the second group of servers isdenied and the browser window 190 may display a message such as“requested URL unavailable”.

When the connection between the subscriber terminal 130 and the ISPserver 110 is determined to be terminated, the ISP server 110 generateslogout information and stores the information in the session usagedatabase 230. It is appreciated that the subscriber terminal may storethe logout information in the local storage device (not shown) beforetransmitting the logout information to the session usage database 230.The logout information may comprise a logout time and a logout date, butis not limited to such information. Alternatively, each subscriberterminal 130 may generate the logout information if the connectionbetween the subscriber terminal 130 and the ISP server 110 is terminatedby the subscriber. It is appreciated that each subscriber terminal 130may generate the logout time and the logout date using the virtual clockrather than its internal clock to ensure accurate and uniform logoutinformation.

Alternatively, the ISP server 110 transmits the logout information tothe session usage server 210. The session usage server 210 generatessession duration information as a function of the subscriber's storedlogin date, the subscriber's stored login time, the received logout dateand the received logout time. The session usage server 210 updates thesession usage record of the subscriber in response to the receivedlogout date, the received logout time and the session durationinformation, and stores the updated session usage record in the sessionusage database 230. The updated session usage record of the subscribermay be used along with the subscriber's profile data to select thesequence of information for the subscriber. That is, the data generatedfrom the current session for the subscriber may be used to generate thesequence of information for the next session. It is noted that thecurrent session implies the subscriber's current connection to the ISPserver 110.

It is appreciated that the subscriber terminal 130 may be disconnectedfrom the ISP server 110 due to faulty connection, hardware and softwareproblems, power outage, etc. Preferably, to account for suchdisconnections, each subscriber terminal 130 generates a ping signalevery predetermined interval, e.g., every 5, 10 or 15 minutes, andtransmits the ping signal to the ISP server 110. It is appreciated thatthe ping signal may include information identifying the source of theping signal, such as the subscriber ID.

The ISP server 110 forwards the ping signal to the session usagedatabase 230. It is contemplated that the session usage database 230stores information relating to the expected time of the next ping signalfor each subscriber. When a subscriber terminal 130 successfullyconnects to the ISP server 110, the session usage database 230 sets theexpected time of the next ping signal for that subscriber to the currenttime plus a multiple number of the predetermined ping signal interval.That is, upon the receipt of login information from a subscriberterminal 130, the session usage database 230 sets the expected time ofthe next ping signal for that subscriber.

If a ping signal is received substantially within the expected time froma subscriber terminal 130, then the session usage database 230 updatesthe expected time of the next ping signal for that subscriber.Preferably, the ISP server 110 may transmit the ping signal to thesession usage server 210 which forwards the ping signal to the sessionusage database 230 for processing and storage. However, if a ping signalis not received substantially within the expected time from thatsubscriber terminal 130, then the connection between that subscriberterminal 130 and the ISP server 110 is presumed to be terminated.Preferably, the session usage server 210 transmits a disconnect signalto the ISP server 110 to disconnect that subscriber terminal 130 fromthe ISP server 110. The session usage server 210 also generates andtransmits the logout information for that subscriber to the sessionusage database 230 for storage. It is appreciated that the disconnectsignal and logout information may be generated by the ISP server 110 andtransmitted to the session database 230 for storage.

It is appreciated that for transmission efficiency and security the pingsignal may be encrypted and compressed using standard encryption andcompression techniques before it is transmitted to the ISP server 110.In such a scenario, the session usage server 210 decrypts anddecompresses the ping signal before updating the expected time of thenext ping signal.

Since the information displayed to the subscribers may representadvertisements, it may be important to keep track of what advertisementswere transmitted and displayed to the subscribers. This information maybe used to directly determine the number of people who viewed aparticular advertisement. It is appreciated that this is comparable toNielsen's or Arbitron's rating scheme for television and radio, exceptthat the present technique provides a more precise and detailedmeasurement of the viewing habits of the subscribers. That is, thepresent technique advantageously permits a more accurate demographicprofile to be developed for each subscriber, thereby enabling theadvertisers to selectively target their advertisements with greaterprecision.

Accordingly, for each subscriber, the present invention determines whichinformation in the sequence of information was displayed to thatsubscriber based on the INFO durations and the subscriber's sessionusage record stored in the session usage database 230. Specifically, thesubscriber's stored session duration information or the subscriber'sstored login time, stored login date, stored logout time and storedlogout date of the subscriber's session usage record may be used todetermine which information was displayed on the subscriber terminal130. The result of this determination may be compiled as a list toprovide a list of displayed information. This list of displayedinformation is then stored in an INFO display database 240 or the like.It is appreciated that this list of displayed information for eachsubscriber may be a list of INFO IDs and INFO durations corresponding tothe information that was displayed to that subscriber.

The list of displayed information for each subscriber may additionallycontain the subscriber ID and information relating to the display dateand display time that a particular information in that list of displayedinformation was displayed to that subscriber. It is appreciated that thedisplay date and the display time information may be derived from theINFO durations and the subscriber's session usage record stored in thesession usage database 230, namely from subscriber's login time, logindate, logout time and logout date.

The list of displayed information for each subscriber may furthercontain information relating to the locality of that subscriber terminal130, namely the location ID. Alternatively, the list of displayedinformation for each subscriber may be transmitted to the session usageserver 210 which generates an INFO display record for each INFO ID inthat list of displayed information and stores the INFO display record inthe INFO display database 240. It is appreciated that the session usageserver 210 may not necessarily use all of the information contained inthe list of displayed information to generate the INFO display record.Also, the INFO display record of the subscriber may be used along withthe subscriber's profile data to select the sequence of information forthe subscriber. That is, the information displayed to the subscriber inhis/her current session may be used to generate the sequence ofinformation for the next session.

In addition, for each displayed information, the present invention keepstrack of all of the linked regions 201 selected (or clicked) by eachsubscriber during the display of that information to provide a linkedregion ID. This information may be used to determine the subscriber'sinterest in a particular product, company, channel or like, providing amore accurate information on the viewing habits of the subscriber. Also,this information may be used to develop a targeted advertising strategy,where the advertisers can determine the subscribers who are more likelyto be interested in receiving such information. It is appreciated thatsince each linked region 201 is connected to a particular host server,each linked region ID may represent a selected host server ID (or aselected data provider ID).

If it is determined that at least one linked region 201 has beenselected by a subscriber, the subscriber terminal 130 associated withthat subscriber generates and transmits a clicked event report packet tothe ISP server 110. It is appreciated that the subscriber terminal 130may store the clicked event report packet in the local storage device(not shown) before transmitting the clicked event report packet to theISP server 110. The clicked event report packet may contain thesubscriber ID of the subscriber terminal 130, the displayed INFO ID ofthe displayed information, the selected data provider ID correspondingto the clicked linked region 201, the date and time the information wasdisplayed on the subscriber terminal 130 to provide the display date andthe display time of the displayed information, and the location IDdefining the locality of the subscriber terminal 130. It is appreciatedthat the subscriber terminal 130 may generate the display date anddisplay time using the virtual clock rather than its internal clock toensure accurate and uniform information. Also, it is appreciated thatthe clicked event report packet may be encrypted and compressed beforeit is transmitted to the ISP server 110 for transmission efficiency andsecurity purposes.

The ISP server 110 forwards and stores the received clicked event reportpacket in the clicked event database 260. Alternatively, the ISP server110 may forward the clicked event report packet to the clicked eventserver 250 which decrypts and decompresses the received clicked eventreport packet, and generates a clicked event record. The clicked eventrecord is then stored in the clicked event database 260. It isappreciated that the clicked event server 250 may not necessarily useall of the information in the clicked event report packet to generatethe clicked event record. Also, the clicked event record of thesubscriber may be used along with the subscriber's profile data toselect the sequence of information for the subscriber. That is, theinformation selected by the subscriber in his/her current session may beused to generate the sequence of information for the next session.

Further, it may be advantageous to keep track of the web sites (hostservers) visited by the subscriber to develop a more precise profile oneach subscriber. Thereby, enabling the advertisers to better selecttheir target audience (subscribers) for their promotions, advertisementsand like.

Accordingly, for each subscriber, the present invention determines allthe host servers selected by that subscriber and stores thecorresponding data provider IDs in the primary session log database 280.It is appreciated that each time a requested web page (data) issuccessfully retrieved from the host server and displayed on the browserwindow 190, the subscriber terminal 130 associated with that subscribermay generate and transmit a session log packet to the ISP server 110. Itis appreciated that the subscriber terminal 130 may store the sessionlog packet in the local storage device (not shown) before transmittingthe session log packet to the ISP server 110. The session log packet maycontain the subscriber ID of the subscriber terminal 130, the dataprovider ID of the host server selected by the subscriber, the date andtime the requested web page was displayed on the subscriber terminal 130to provide the display date and the display time of the requested webpage, and the location ID defining the locality of the subscriberterminal 130. Also, it is appreciated that the subscriber terminal 130may generate the display date and display time using the virtual clockrather than its internal clock to ensure accurate and uniforminformation. Further, it is appreciated that the session log packet maybe encrypted and compressed before it is transmitted to the ISP server110.

The ISP server 110 forwards and stores the received session log packetin the primary session log database 280. Alternatively, the ISP server110 may forward the session log packet to the session log server 270which decrypts and decompresses the received session log packet, andgenerates a primary data display record. The primary data display recordis then stored in the primary session log database 280.

Also, the session log server 270 may retrieve the profile data from theprofile database 122 using the subscriber ID and additionally generate asecondary data display record substituting the subscriber ID informationin the primary data display record with the profile data informationassociated with that subscriber ID. The secondary data display record isthen stored in the secondary session log database 281. That is, thesession log server 270 may combine information from the differentdatabases to generate a customized record. For example, a record may becreated to provide viewing habits of subscribers belonging to aparticular demographic group such as single female under 30 with annualincome exceeding $100,000 living in Florida. It is appreciated that thesession log server 270 may not necessarily use all of the information inthe session log packet to generate the primary and secondary datadisplay records.

Further, the data display record of the subscriber may be used alongwith the subscriber's profile data to select the sequence of informationfor the subscriber. That is, the web site visited by the subscriber inhis/her current session may be used to generate the sequence ofinformation for the next session.

Turning now to FIG. 4, there is illustrated a block diagram of a cabletelevision network which incorporates the present invention. Theapparatus illustrated in FIG. 4 may be included in a set-top converter,a television receiver, a video recorder or other conventional apparatustypically used to receive and cause the display of television pictures.A broadcasting station 300 transmits broadcasting signals to a satellite310 (for example, a broadcasting or communication satellite). Thesebroadcasting signals are retransmitted to head-ends 320 disposed inindividual service areas, each of which may contain an antenna toreceive the broadcasting signals, a receiving amplifier, an image sourceinput portion (if necessary), a modulator to modulate the receivedbroadcasting signals, and a multiplexer to multiplex the output of themodulator before it is output to a transmission line.

Individual homes 330, i.e., subscribers to the cable television system,are connected to a single head-end 320 by a cable 340, which can beconstructed as either a coaxial cable, an optical fiber cable, or acombination thereof. For simplicity, the head-end 320 that a particularhome 330 (or a particular television receiving apparatus 350) isconnected to is referred to hereinafter as the associated head-end 320.The cable 340 is connected in a tree shape or in a star shape. It isappreciated that the individual homes 330 may be connected to head-end320 via wireless connection, satellite connection or like. A subscriberof the cable television system (home 330) is provided with a processingdevice such as a television receiving apparatus 350, which contains atuner 390 for permanently tuning to information channels broadcastingthe sequence of information and selectively tuning to a desiredbroadcast channel. It is appreciated that the tuner 390 may comprisemultiple tuners such that one tuner may be used to tune to the desiredbroadcast channel and other tuners may be used to tune to theinformation channels. The received broadcast signals which constitutethe program received from the broadcasting station 300 are supplied to amonitor 370 (FIG. 5) whereat it is displayed to the viewer (i.e.,members of subscriber's household). It will be appreciated that themonitor 370 includes the usual video processing circuitry normallyprovided in television receiving apparatus or high definition television(HDTV) to permit a television picture (and accompanying audioinformation) to be displayed to a viewer.

The cable television network according to the present invention is notlimited to the cable television network shown in FIG. 4. For example, aplurality of program providers (i.e., data providers) can transmitprograms and a plurality of INFO servers 360 can transmit informationsuch as advertisements and like to the satellite 310. A cable televisionstation may be interposed between the satellite 310 and the head-ends320 to receive broadcasting signals from the satellite 310 and relaythose signals to the head-ends by optical fiber cables. Each head end isconnected to homes of authorized subscribers by optical fiber cables orcoaxial cables. In addition, the present invention may be applied to avideo image communication system such as a TV conference system, asatellite communication system or like.

The broadcasting signal generated in the head-end 320 contains aplurality of broadcast channels (i.e., data providers) which are encodedfor example using motion compensated inter-frame prediction codingtechniques. Highly efficient encoders are utilized in the head-end 320(not shown) in accordance with the MPEG (Moving Picture Experts Group)or MPEG2 system that has been adopted by the ISO (internationalOrganization for Standardization). The encoded broadcast signals may betime-division multiplexed into a packet, which is digitally modulated,for example, using a PSK modulation technique.

Turning to FIG. 5, the television receiving apparatus 350 may beincluded in a set-top converter, a television receiver or otherconventional apparatus typically used to receive and cause the displayof television pictures. An input device 450 is adapted to receive inputfrom the subscriber. For example, the input device 450 may be used bythe subscriber to respond to a query from the cable system provider, torequest modification to the existing service such as adding or deletinga premium channel, etc.

A remote control unit 440 is adapted to transmit conventional controlsignals to the television receiving apparatus for controlling variousfunctions such as channel selection, volume control, brightness,contrast, color adjustments, etc. Such control signals may betransmitted by infra-red transmission; and in that event the remotecontrol unit includes an IR transmitter (not shown) and the televisionreceiving apparatus includes a remote IR receiver 430. Alternatively,remote control unit 440 and remote IR receiver 430 may be omitted andthe aforementioned control signals may be generated simply by operatingcorresponding controls directly on the television receiving apparatus(e.g., channel selector 420, a volume adjustment button, a picturecontrol button and the like).

The control signals, whether received by remote IR receiver 430 orgenerated by control elements provided directly on the televisionreceiving apparatus, such as channel selector 420, are coupled to amicroprocessor 410 which controls the operation of a tuner 390 to tuneto a selected television channel received at the input of the tuner. Forexample, the microprocessor may control tuner 390 to tune to aparticular broadcast frequency over which a television program istransmitted. Alternatively, the microprocessor 410 may control tuner 390to tune to a particular digital channel (as in direct satellitebroadcast transmission) over which the television program istransmitted. The video signals which constitute the television programbroadcast over the selected channel are supplied to the monitor 370whereat they are displayed to the subscriber. It will be appreciatedthat the monitor 370 includes the usual video processing circuitrynormally provided in television receiving apparatus to permit atelevision picture (and accompanying audio information) to be displayedto a viewer. The foregoing operation is typical of television receivingapparatus.

Although not described in detail, it will be appreciated that themicroprocessor may be a conventional microprocessor, such as arelatively inexpensive, small eight-bit controller or a powerful,high-speed microprocessor for example, a “486”-type microprocessor orPentium microprocessor manufactured by Intel Corp.

Returning to FIG. 4, each head-end 320 may also include a profiledatabase 325, wherein the profile data representing the demographic ofthe subscriber is stored. As stated hereinabove with respect to theinternet, the profile data may comprise home address, business address,length of residence, household income, gender, age group, the frequencyof internet or cable use, but is not limited to such. The profile datamay be supplied via a telephone to a representative of the cabletelevision system, entered on the input device 450 of the televisionreceiving apparatus 350, obtained from a questionnaire profile formcompleted by the subscriber or by other comparable means. If the profiledata is entered on the input device 450 by the subscriber, thetelevision receiving apparatus 350 transmits the profile data to theassociated head-end 320 via the cable 340 or a dedicated channel or adata link 341. It is appreciated that the profile data may be encryptedand compressed before it is transmitted to the associated head-end 320.

The head-end 320 decrypts and decompresses the receive profile data, andforwards the decrypted and decompressed profile data to profile database325 for storage. Alternatively, the decrypted and decompressed profiledata may be stored in a central profile database (not shown) which isaccessible by each head-end 320. Also, from time to time, additionaldemographic information may be requested from the subscribers and theseadditional demographic information may be stored with the profile datain the profile database 325 or separately in the additional profiledatabase 326.

If the additional profile data is entered on the input device 450 by thesubscriber, the television receiving apparatus 350 transmits theadditional profile data to the associated head-end 320. The additionalprofile data may be encrypted and compressed before it is transmitted tothe television receiving apparatus 350. The head-end 320 decrypts anddecompresses the received additional profile data, and stores theadditional profile data in the additional profile database 326 or theprofile database 325.

Excluding the information channel, each broadcast channel contains aplurality of programs which are encoded so that only authorizedsubscribers of the cable television system may receive the broadcastprograms. The information channel contains a plurality of information,such as advertisements, news, messages, announcements, updates and like,which are continuously broadcasted to the subscribers of the cabletelevision system to form a sequence of information. The information maycomprise but is not limited to texts, still pictures, moving pictures,video and audio components, or a combination thereof. It is appreciatedthat information from numerous information channels may be multiplexedand distributed to the subscribers. The encoding technique normallydepends on each channel.

In accordance with the present invention, the information channel mayreceive a plurality of information from the INFO servers 360. Each INFOserver may include a storage device 365 or like. The information to bebroadcasted on the information channel is first retrieved from therespective storage device 365 and supplied to the information channelfor distribution to the subscribers.

Alternatively, the sequence of information is selected for eachsubscriber in accordance with the subscriber's profile data which mayalso include the additional profile data. That is, a sequence ofinformation is dynamically and individually generated for eachsubscriber. For example, if an advertiser chooses to target itsadvertisements to single females under 30 years of age with annualincomes exceeding $50,000, then these advertisements could bedistributed to only those subscribers satisfying these demographicrequirements. As stated hereinabove with respect to the internet, a partor all of the subscriber's profile data containing various demographicinformation may be used to generate the sequence of information.

As stated hereinabove with respect to the internet, for each informationin the sequence, the respective storage device 365 may contain the INFOduration representing the length of time the information is to bedisplayed to the subscribers, e.g., display the information for 30seconds; and the display time range representing the time of the daythat the information is to be displayed to the subscribers, e.g.,display the information within 7:00 PM to 8:00 PM. Accordingly, eachINFO server 360 may transmit only those information satisfying thedisplay time range requirements of the information as a part of thesequence of information to a particular subscriber. The sequence ofinformation is selected for each subscriber based on the subscriber'sprofile data and the display time range of the information. In otherwords, the microprocessor 410 (FIG. 5) controls the tuner 390 (FIG. 5)to tune to a particular INFO channel to receive the sequence ofinformation selected for that subscriber. It is appreciated that eachsubscriber may be categorized into groups based on the subscriber'sprofile data and each INFO channel is associated with a particulargroup.

Also, the profile data may contain information relating to thesubscriber's time zone which can be used to generate the sequence ofinformation. For example, if a particular information has a display timerange of 6:00 PM to 8:00 PM and the current time is 9:00 PM EST (EasternStandard Time), then this information would not be provided to anysubscribers in the EST time zone, but would be supplied to subscribersin the Mountain and Pacific time zones.

Preferably, as stated hereinabove with respect to the ISP server 110(FIG. 1), the associated head-end 320 may retrieve a sequence of INFOIDs from an INFO list database 327 for distribution to the subscribers.The sequence of INFO IDs may contain a list of the INFO IDs uniquelyidentifying each information in the sequence of information; the INFOdurations representing the length of time each information is to bedisplayed to the subscribers; and display time ranges representing thetime of the day that each information is to be displayed to thesubscribers. The associated head-end 320 may transmit the sequence ofINFO IDs to the television receiving apparatus 350 which stores thereceived sequence in a local storage device 415 (FIG. 5).

In accordance with the preferred embodiment of the present invention,the associated head-end 320 may generate a customized and individualizedsequence of INFO IDs for each subscriber in accordance with thesubscriber's profile data which may also include the additional profiledata. That is, a sequence of INFO IDs is dynamically and individuallygenerated for each subscriber. It is appreciated that this sequence ofINFO IDs may be pre-generated for each subscriber during off-peak hoursand provided to the subscriber's television receiving apparatus 350 whenit is “turn on” or dynamically generated for each subscriber as part ofthe “logging in” process, i.e., when the television receiving apparatus“turns on” to connect to the cable network. This customized sequence ofINFO IDs is then transmitted to the television receiving apparatus 350associated with that subscriber. The television receiving apparatus 350stores the received sequence of INFO IDs in the local storage device 415(FIG. 5).

The microprocessor 410 (FIG. 5) of the television receiving apparatus350 may request information corresponding to stored INFO IDs over thededicated channel or data link 341 from the associated head-end 320 towhich the television receiving apparatus 350. It is appreciated that therequest for information may include more than one INFO ID and thesubscriber ID of the television receiving apparatus 350. The associatedhead-end 320 forwards the request to the INFO server 360 which retrievesthe requested information corresponding to the INFO ID from the storagedevice 365. The requested information is then transmitted to theassociated head-end 320 for distribution to the requesting televisionreceiving apparatus 350. The associated head-end 320 transmits therequested information to the television receiving apparatus 350 via thededicated channel or data link 341. The microprocessor 410 stores therequested information in a local storage device 415 and supplies therequested information to the monitor 370 to be displayed to thesubscriber. It is appreciated that the microprocessor 410 may requestand store the information in advance from the associated head-end 320 inthe local storage device 415 such that the information to be displayedis always available from the local storage device 415.

Alternatively, the associated head-end 320 may retrieve a sequence ofchannel IDs from an INFO list database 327 for distribution to thesubscribers. The sequence of channel IDs may contain a list of thechannel IDs uniquely identifying the information channel wherein theinformation may be received from the associated head-end 320 and theINFO durations representing the length of time the informationreceivable on each information channel corresponding to the channel IDsis to be displayed to the subscribers. The associated head-end 320 maytransmit the sequence of channel IDs to the television receivingapparatus 350 which stores the received sequence in a local storagedevice 415 (FIG. 5).

In accordance with the preferred embodiment of the present invention,the associated head-end 320 may generate a customized and individualizedsequence of channel IDs for each subscriber in accordance with thesubscriber's profile data which may also include the additional profiledata. That is, a sequence of channel IDs is dynamically and individuallygenerated for each subscriber. It is appreciated that this sequence ofchannel IDs may be pre-generated for each subscriber during off-peakhours and provided to the subscriber's television receiving apparatus350 when it is “turn on” or dynamically generated for each subscriber aspart of the “logging in” process, i.e., when the television receivingapparatus “turns on” to connect to the cable network. This customizedsequence of channel IDs is then transmitted to the television receivingapparatus 350 associated with that subscriber and to a session usageserver 510 which stores the received sequence for that subscriber in thesession usage database 515. The television receiving apparatus 350stores the received sequence of channel IDs in the local storage device415 (FIG. 5).

The microprocessor 410 of the subscriber's television receivingapparatus 350 may control the tuner 390 (FIG. 5) to tune to theinformation channels corresponding to stored channel IDs to receive theinformation selected for that subscriber. That is, the tuner 390sequentially tunes to the information channel corresponding to eachstored channel ID for the INFO duration specified for that informationchannel.

It is noted that only authorized subscribers, i.e., authorizedtelevision receiving apparatus 350, are permitted to be connected to thehead-end 320 and unauthorized television receiving apparatus 350 areinhibited from displaying the sequence of information received from theINFO servers 360 and the program receivable on the broadcast channels.

As described hereinabove with respect to the internet, the logininformation is generated when authorized television receiving apparatus350 “turns on” to receive programs from the associated head-end 320 (orconnects to the associated head-end 320). The login information isstored in a session usage database 515 or like. The login informationmay comprise the login time and the login date, but is not limited tosuch information. For example, the login information may additionallycontain a location ID, information relating to the locality of thattelevision receiving apparatus 350. It is appreciated that the locationID may represent a zip code, a telephone number, a country name or code,a state or province name, or like. Alternatively, the login informationmay be transmitted to the session usage server 510 which generates thesession usage record from the login information and stores the sessionusage record in the session usage database 515. It is appreciated thatthe session usage record may not necessarily contain all the logininformation.

Also, it is appreciated that the login time and the login date may begenerated in accordance with a network system clock, thereby ensuringaccurate and uniform login information from the television receivingapparatus 350. The network system clock may reside in the head-ends 320or some other server on the satellite 310. Accordingly, the clockinformation of each television receiving apparatus 350 is notoverwritten with the network system clock information, but eachtelevision receiving apparatus 350 stamps the information to betransmitted to the associated head-end 320 based on the network systemclock. That is, each television receiving apparatus 350 has a real timeand a virtual time based on the network system clock, and generates avirtual login time and a virtual login date based on the network systemclock.

It is appreciated that the zip code and time zone of the subscriber mayalso be used to generate the sequence of information for thatsubscriber. For example, if a particular information has a display timerange of 6:00 PM to 8:00 PM and the current time is 9:00 PM EST (EasternStandard Time), then this information would not be provided to any U.S.subscribers in the EST time zone, but would be supplied to U.S.subscribers in the Mountain and Pacific time zones. It is appreciatedthat U.S. subscribers in the EST time zone will receive informationhaving a display time range of 9:00 PM to 10:00 PM. This willadvantageously permit the advertisers to target their advertisementsbased on the geographic location of the subscriber to consider regionalpreferences. That is, advertisers may want to use one advertisement forpeople in the east coast and another advertisement for people in thewest coast. Also, it is appreciated the time zone and the display timerange information may be used to insure that a particular advertisementis shown to all U.S. subscribers only from 6:00 PM to 7:00 PM.

The authorized subscriber selects (requests) a program to view byselecting the desired broadcast channel using the remote control unit440 or the channel selector 420 on the television receiving apparatus350. In response, the microprocessor 410 controls the tuner 390 to tuneto a selected broadcast channel or a particular broadcast frequency overwhich the requested program is transmitted. The video signals whichconstitute the program broadcast over the selected broadcast channel aresupplied to the monitor 370 whereat they are continuously displayedsimultaneously with the sequence of information. As stated hereinabovewith respect to the internet, the sequence of information and therequested program are displayed on the monitor 370 such that they aresimultaneously viewable by the subscriber.

Preferably, the display of the sequence of information on the monitor370 does not interfere with the display of the requested program. Insuch a scheme, the sequence of information may be displayed in a firstportion of the monitor 370 and the requested program in a second portionof the monitor 370. For simplicity, the two portions of the monitor 370will be referred hereinafter as a program or browser window 371 and anINFO window 372 as depicted in FIG. 6. Accordingly, the sequence ofinformation is displayed in the INFO window 372 and the requestedprogram is displayed in the program window 371. It is appreciated thateach information in the sequence is displayed on the INFO window 372 forthe assigned INFO duration, e.g., first information may be displayed for30 seconds, second information for 15 seconds, etc.

As stated hereinabove with respect to the internet, the INFO window 372may include unlinked regions 374 and linked regions 373 such as “PreviewPrograms”, “Merchandise”, “New Products” or “Order Now” as shown in FIG.6. Each of the linked regions 373 may be linked to an INFO server 360 ora broadcasting station 310 (a data provider) on the satellite 310. Thesubscriber may click one of the linked regions 373 to preview newprograms, receive additional information relating to merchandise and newproducts or to place an order. For example, if the subscriber clicks thelinked region 373 labeled “Preview Programs” in FIG. 6, the televisionreceiving apparatus 350 will be tuned to a broadcast channel or an INFOchannel to display the program receivable on that channel on the programwindow 371. Additionally, the INFO window 372 may display a program thatis currently receivable on a broadcast channel such as channel 10 andthe subscriber may tune to channel 10 by simply clicking on the displayof that program. That is, the linked region 373 may be connected to themicroprocessor 410 of the television receiving apparatus 350 to controlthe tuner 390 to select the broadcast channel transmitting the programcurrently displayed on the INFO window 372. Preferably, as describedhereinabove with the internet, the additional information displayed inthe program window 371 may depend on the subscriber's profile data. Itis appreciated that the linked regions 373 are not limited to thosedepicted in FIG. 6 and other linked regions are contemplated in thepresent invention.

Alternatively, if the subscriber clicks the linked region 373 labeled“Preview Programs,” a pop-up window may be displayed on the programwindow 371 wherein the subscriber may be requested to complete aquestionnaire form or to provide e-mail address, home address, faxnumber or like to receive a complementary copy of a video containing theprogram or a promotional brochure on the program. It is appreciated thatthe requested data may be retrieved from the profile database 1222 anddisplayed in the program window 371. The subscriber may accept (confirm)this retrieved data or modify the data so as to provide the additionalinformation to another person. After the requested data is eitherentered or selected by the subscriber, the television receivingapparatus 350 transmits the requested data to the associated head-end320 via the data link 341. Preferably, the associated head-end 320stores or updates the subscriber's additional profile information in theadditional profile database 286 in accordance with the completedquestionnaire form or the requested data. Alternatively, the ISP server110 retrieves the profile data associated with the subscriber from theprofile database 326, and stores or updates the subscriber's additionalprofile information in the additional profile database 326 in accordancewith the completed questionnaire form or the requested data, subscriberID and the subscriber's profile data. It is appreciated that thisadvantageously permits the present invention to provide a mechanism forinteractive communication between the subscriber and the INFO provider.Also, other means of providing the requested data is contemplated suchas a radio button for exclusive selections, check boxes for multipleselections and like.

It is appreciated that although the subscriber cannot control thedisplay of the sequence of information on the INFO window 372 of themonitor 370, the subscriber can select another program to be displayedon the program window 371 by selecting another broadcast channel usingthe remote control unit 440 or the channel selector 420.

Alternatively, the contents of the INFO window 372, each information inthe sequence of information, can be characterized as an unsolicitedrequest for a program (data) from one of the broadcasting stations. Inother words, the programs displayed on the program window 371 representsolicited programs requested by the subscriber, whereas the materials(programs) displayed on the INFO window 372 represent unsolicitedprograms not requested by the subscriber. Essentially, without informingthe subscriber, the television receiving apparatus 350 automaticallytunes to a broadcast channel to request (select) a program that isreceivable on that broadcast channel to be displayed on the INFO window372.

Preferably, the broadcast channels (or broadcast stations) may bedivided into two groups, wherein the tuner 390 is operable to tune tothe first group of broadcast channels in response to a solicited requestand second group of broadcast channels in response to an unsolicitedrequest. That is, the microprocessor 410 does not permit the tuner 390to tune to the second group of broadcast channels in response to acontrol signal from the remote control unit 440 or the channel selector420. Any solicited request for programs from the second group ofbroadcast channels is denied and the program window 371 may display amessage such as “channel unavailable”.

When the television receiving apparatus 350 is determined to bedisconnected from the associated head-end 320, the associated head-end320 generates the logout information and stores the information in thesession usage database 515. As stated hereinabove with respect to theinternet, the logout information may comprise the logout time and thelogout date, but is not limited to such information. Alternatively, eachtelevision receiving apparatus 350, namely the microprocessor 410, maygenerate the logout information if the subscriber disconnects thetelevision receiving apparatus 350 from the associated head-end 320 by“turning off” the television receiving apparatus 350. It is appreciatedthat each television receiving apparatus 350 may generate the logouttime and the logout date using the virtual clock rather than itsinternal clock to ensure accurate and uniform logout information.

Alternatively, the associated head-end 320 transmits the logoutinformation to the session usage server 510. Similar to the sessionusage server 210 in FIG. 1, the session usage server 510 generates thesession duration information as a function of the subscriber's storedlogin date, the subscriber's stored login time, the received logout dateand the received logout time. The session usage server 510 updates thesession usage record of the subscriber in response to the receivedlogout date, the received logout time and the session durationinformation, and stores the updated session usage record in the sessionusage database 515. The updated session usage record of the subscribermay be used along with the subscriber's profile data to select thesequence of information for the subscriber. That is, the data generatedfrom the current session for the subscriber may be used to generate thesequence of information for the next session. It is noted that thecurrent session implies the subscriber's current connection to theassociated head-end 320.

It is appreciated that the television receiving apparatus 350 may bedisconnected from the associated head-end 320 due to faulty connection,hardware and software problems, power outage, etc. Preferably, toaccount for such disconnections, each television receiving apparatus 350generates a ping signal every predetermined interval, e.g., every 5, 10or 15 minutes and transmits the ping signal to the associated head-end320. It is appreciated that the ping signal may include informationidentifying the source of the ping signal such as the subscriber ID andchannel ID indicating the subscriber's selected channel.

The associated head-end 320 forwards the ping signal to the sessionusage database 515. It is contemplated that the session usage database515 stores information relating to the expected time of the next pingsignal for each subscriber. When the television receiving apparatus“turns on” to connect to the associated head-end 320, the session usagedatabase 515 sets the expected time of the next ping signal for thatsubscriber to the current time plus a multiple number of thepredetermined ping signal interval. That is, upon the receipt of logininformation from the television receiving apparatus 350, the sessionusage database 515 sets the expected time of the next ping signal forthat subscriber.

If a ping signal is received substantially within the expected time fromthe television receiving apparatus 350 (the microprocessor 410), thenthe session usage database 515 updates the expected time of the nextping signal for that subscriber. Preferably, the associated head-end 320may transmit the ping signal to the session usage server 510 whichforwards the ping signal to the session usage database 515 forprocessing and storage. However, if a ping signal is not receivedsubstantially within the expected time from that television receivingapparatus 350, then the television receiving apparatus 350 is presumedto be disconnected from the associated head-end 320. Preferably, thesession usage server 510 transmits a disconnect signal to the associatedhead-end 320 to disconnect that television receiving apparatus 350 fromthe associated head-end 320. The session usage server 510 also generatesand transmits the logout information for that subscriber to the sessionusage database 515 for storage. It is appreciated that the disconnectsignal and logout information may be generated by the associatedhead-end 320 and transmitted to the session database 515 for storage.

As stated hereinabove with respect to the internet, it is appreciatedfor transmission efficiency and security the ping signal may beencrypted and compressed using standard encryption and compressiontechniques before it is transmitted to the associated head-end 320. Insuch a scenario, the session usage server 510 decrypts and decompressesthe ping signal before updating the expected time of the next pingsignal.

As stated hereinabove with respect to the internet, since theinformation displayed to the subscribers may represent advertisements,it may be important to keep track of what advertisements weretransmitted and displayed to the subscribers. This information may beused to directly determine the number of people who viewed a particularadvertisement. It is appreciated that this is comparable to Nielsen's orArbitron's rating scheme for television and radio, except the presenttechnique provides a more precise and detailed measurement of theviewing habits of the subscribers. That is, the present techniqueadvantageously permits a more accurate demographic profile to bedeveloped for each subscriber, thereby enabling the advertisers toselectively target their advertisements more effectively.

Accordingly, for each subscriber, the preferred embodiment of thepresent invention determines which information in the sequence ofinformation was displayed to that subscriber based on the INFO durationsand the subscriber's session usage record stored in the session usagedatabase 515. Specifically, the subscriber's stored session durationinformation or the subscriber's stored login time, stored login date,stored logout time and stored logout date of the subscriber's sessionusage record may be used to determine which information was displayed onthe television receiving apparatus 350. The result of this determinationmay be compiled as a list to provide a list of displayed information.This list of displayed information is then stored in an INFO displaydatabase 525 or like. It is appreciated that the list of displayedinformation may be stored in the local storage device 415 (FIG. 5) ofthe television receiving apparatus 350 before the list is transmitted tothe INFO display database 525. Also, it is appreciated that this list ofdisplayed information for each subscriber may be a list of INFO IDs andINFO durations corresponding to the information that was displayed tothat subscriber.

The list of displayed information for each subscriber may additionallycontain the subscriber ID and information relating to the display dateand display time that a particular information in that list of displayedinformation was displayed to that subscriber. It is appreciated that thedisplay date and the display time information may be derived from theINFO durations and the subscriber's session usage record stored in thesession usage database 515, namely from subscriber's login time, logindate, logout time and logout date.

The list of displayed information for each subscriber may furthercontain information relating to the locality of that televisionreceiving apparatus 350, namely the location ID. Alternatively, the listof displayed information for each subscriber may be transmitted to thesession usage server 515 which generates an INFO display record for eachINFO ID in that list of displayed information and stores the INFOdisplay record in the INFO display database 525. It is appreciated thatthe session usage server 510 may not necessarily use all of theinformation contained in the list of displayed information to generatethe INFO display record. Also, the INFO display record of the subscribermay be used along with the subscriber's profile data to select thesequence of information for the subscriber. That is, the informationdisplayed to the subscriber in his/her current session may be used togenerate the sequence of information for the next session.

In addition, for each displayed information, the present invention keepstrack of all of the linked regions 373 selected (or clicked) by eachsubscriber during the display of that information to provide a linkedregion ID. This information may be used to determine the subscriber'sinterest in a particular product, company, channel or like, providing amore accurate information on the viewing habits of the subscriber. Also,this information may be used to develop a targeted advertising strategy,where the advertisers can determine the subscribers who are more likelyto be interested in receiving such information. It is appreciated thatsince each linked region 373 is connected to a particular data provider(i.e., broadcasting station or INFO server), each linked region ID mayrepresent a selected data provider ID.

If it is determined that at least one linked region 373 has beenselected by a subscriber, the television receiving apparatus 350associated with that subscriber generates and transmits a clicked eventreport packet to the associated head-end 320. It is appreciated that thetelevision receiving apparatus 350 may store the clicked event reportpacket in the local storage device 415 (FIG. 5) before transmitting theclicked event report packet to the associated head-end 320. The clickedevent report packet may contain the subscriber ID of the televisionreceiving apparatus 350, the displayed INFO ID of the displayedinformation, the selected data provider ID corresponding to the clickedlinked region 373, the date and time the information was displayed onthe television receiving apparatus 350 to provide the display date andthe display time of the displayed information, and the location IDdefining the locality of the television receiving apparatus 350. It isappreciated that the television receiving apparatus 350 may generate thedisplay date and display time using the virtual clock rather than itsinternal clock to ensure accurate and uniform information. Also, it isappreciated that the clicked event report packet may be encrypted andcompressed before it is transmitted to the associated head-end 320 fortransmission efficiency and security purposes.

The associated head-end 320 forwards and stores the received clickedevent report packet in the clicked event database 535. Alternatively,the associated head-end 320 may forward the clicked event report packetto the clicked event server 530 which decrypts and decompresses thereceived clicked event report packet, and generates a clicked eventrecord. The clicked event record is then stored in the clicked eventdatabase 535. It is appreciated that the clicked event server 530 maynot necessarily use all of the information in the clicked event reportpacket to generate the clicked event record. Also, the clicked eventrecord of the subscriber may be used along with the subscriber's profiledata to select the sequence of information for the subscriber. That is,the information selected by the subscriber in his/her current sessionmay be used to generate the sequence of information for the nextsession.

Further, it may be advantageous to keep track of the broadcastingchannels selected by the subscriber to develop a more precise profile oneach subscriber. Thereby, enabling the advertisers to better selecttheir target audience (subscribers) for their promotions, advertisementsand like.

Accordingly, for each subscriber, the present invention determines allthe broadcasting channels selected by that subscriber and stores thecorresponding data provider IDs in the primary session log database 545.It is appreciated that each time a new broadcast channel is selected todisplay the program receivable on that selected broadcast channel on theprogram window 371, the television receiving apparatus 350 associatedwith that subscriber may generate and transmit the session log packet tothe associated head-end 320. It is appreciated that the televisionreceiving apparatus 350 may store the session log packet in the localstorage device 415 before transmitting the session log packet to theassociated head-end 320. The session log packet may contain thesubscriber ID of the television receiving apparatus 350, the dataprovider ID of the broadcast channel selected by the subscriber, thedate and time the program receivable on the selected (requested)broadcast channel was displayed on the television receiving apparatus350 to provide the display date and the display time of the requestedprogram, and the location ID defining the locality of the televisionreceiving apparatus 350. Also, it is appreciated that the televisionreceiving apparatus 350 may generate the display date and display timeusing the virtual clock rather than its internal clock to ensureaccurate and uniform information. Further, it is appreciated that thesession log packet may be encrypted and compressed before it istransmitted to the associated head-end 320.

The associated head-end 320 forwards and stores the received session logpacket in the primary session log database 545. Alternatively, theassociated head-end 320 may forward the session log packet to thesession log server 540 which decrypts and decompresses the receivedsession log packet, and generates the primary data display record. Theprimary data display record is then stored in the primary session logdatabase 545.

Also, the session log server 540 may forward a request for profile dataassociated with the subscriber ID to the head-ends 320. Each head-end320 searches its profile database 325 for the requested profile datacorresponding to the subscriber ID. When the requested profile data islocated by the associated head-end 320, the associated head-end 320forwards the requested profile data to the session log server 540. Thesession log server 540 additionally generates a secondary data displayrecord substituting the subscriber ID information in the primary datadisplay record with the profile data information associated with thatsubscriber ID. The secondary data display record is then stored in thesecondary session log database 546. That is, the session log server 540may combine information from the various databases to generate acustomized record. For example, a record may be created to provideviewing habits of subscribers belonging to a particular demographicgroup such as married male under 35 with annual income exceeding$100,000 living in New York City. It is appreciated that the session logserver 540 may not necessarily use all of the information in the sessionlog packet to generate the primary and secondary data display records.

Further, the data display record of the subscriber may be used alongwith the subscriber's profile data to select the sequence of informationfor the subscriber. That is, the broadcast channels selected by thesubscriber in his/her current session may be used to generate thesequence of information for the next session.

While the present invention has been particularly shown and describedwith reference to a preferred embodiment, it will be readily appreciatedthat various changes may be made without departing from the spirit andscope of the invention. For example, instead of storing the informationin various databases, all of the information may be stored in a singledatabase or a single storage device. Also, the information such as theclicked event report, the session log packet and like may be stored inthe subscriber terminal 130 and the television receiving apparatus 350before they are transmitted to the respective databases for storage viathe ISP server 110 and the associated head-end 320, respectively. Thisadvantageously permits the subscriber terminal 130 and the televisionreceiving apparatus 350 to queue the information and transmit theinformation in bulk to the ISP server 110 and the associated head-end320, respectively, during off-peak hours when the network is lesscongested.

Additionally, instead of storing the profile data and additional profiledata in the profile databases 325 and additional profile databases 326associated with each head-end 320, they may stored in a single profiledatabase 325 and a single additional profile database 326 connected tothe satellite 310.

Further, it is appreciated that each server and database may be mirroredfor redundancy to provide a more reliable and robust system. Theinformation stored in various databases may be additionally backed up ina central database every predetermined interval or during off-peak hoursto provide recoverability, efficiency and security. Alternatively, eachdatabase may backup another database so that there is always a primaryand secondary databases for any given information.

It is intended that the appended claims be interpreted as including theembodiment discussed above, those various alternatives which have beendescribed and all equivalents thereto.

1. A method of connecting a terminal to a host server on the internet inresponse to an incomplete uniform resource locator, wherein saidterminal has a monitor and an input device, the method comprising thesteps of: entering a host name by a user corresponding to said hostserver on said input device to provide said incomplete uniform resourcelocator; contextually determining remaining components of saidincomplete uniform resource locator as a function of said host server.2. The method of claim 1, wherein the step of contextually determiningincludes the step of determining a domain of said host server as afunction of a probability distribution of the number of host servers ina particular domain.
 3. The method of claim 1, wherein said monitorincludes a plurality of clickable buttons, each of said plurality ofclickable buttons corresponding to one component of a uniform resourcelocator; and wherein the step of contextually determining contextuallydetermines the remaining components of said incomplete uniform resourcelocator in response to one or more of said plurality of clickablebuttons clicked by said user.
 4. Apparatus for connecting a computerterminal to a host server on the internet in response to an incompleteuniform resource locator, comprising a device for contextuallydetermining remaining components of said incomplete uniform resourcelocator as a function of a host name entered by a user to provide acomplete uniform resource locator, wherein said host name corresponds tosaid host server.
 5. The apparatus of claim 4, wherein said device forcontextually determining is operable to determine a domain of said hostserver as a function of a probability distribution of the number of hostservers in a particular domain.
 6. The apparatus of claim 4, whereinsaid terminal includes a monitor having a plurality of clickablebuttons, each of said plurality of clickable buttons corresponding toone component of a uniform resource locator; and said device forcontextually determining contextually determines the remainingcomponents of said incomplete uniform resource locator in response toone or more of said plurality of clickable buttons clicked by said user.